using System;
using System.Collections.Generic;
using System.Text;
using BusinessObjects.BO_Actions;
using Entity.StoreProcedure;
using BusinessObjects;
using System.Data;
namespace BusinessObjects.BO_GetObjects
{
    public static class BO_portal_galleries_details
    {
        public static DataTable SelectAll(int status)
        {
            try
            {
                usp_portal_galleries_details_select_all entity = new usp_portal_galleries_details_select_all();
                entity.STATUS = status;
                return BO_Actions<usp_portal_galleries_details_select_all>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable SelectTop(int rows, int status)
        {
            try
            {
                usp_portal_galleries_details_select_top entity = new usp_portal_galleries_details_select_top();
                entity.NUMBERRECORD = rows;
                entity.STATUS = status;
                return BO_Actions<usp_portal_galleries_details_select_top>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable Search(int picture_id)
        {
            try
            {
                usp_portal_galleries_details_search entity = new usp_portal_galleries_details_search();
                entity.PICTURE_ID = picture_id;

                return BO_Actions<usp_portal_galleries_details_search>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable SelectWithPaged(int startIndex, int pageCount, int status)
        {
            try
            {
                usp_portal_galleries_details_select_paged entity = new usp_portal_galleries_details_select_paged();
                entity.STARTINDEX = startIndex;
                entity.MAXRECORDS = pageCount;
                entity.STATUS = status;
                return BO_Actions<usp_portal_galleries_details_select_paged>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static string Insert(int gallery_id, string picture_name, string picture_path, int total_view, bool is_display_on_home_page, int order_display, DateTime created_date, string created_by, DateTime modify_date, string modify_by, bool status)
        {
            try
            {
                usp_portal_galleries_details_insert entity = new usp_portal_galleries_details_insert();
                entity.GALLERY_ID = gallery_id;
                entity.PICTURE_NAME = picture_name;
                entity.PICTURE_PATH = picture_path;
                entity.TOTAL_VIEW = total_view;
                entity.IS_DISPLAY_ON_HOME_PAGE = is_display_on_home_page;
                entity.ORDER_DISPLAY = order_display;
                entity.CREATED_DATE = created_date;
                entity.CREATED_BY = created_by;
                entity.MODIFY_DATE = modify_date;
                entity.MODIFY_BY = modify_by;
                entity.STATUS = status;

                return BO_Actions<usp_portal_galleries_details_insert>.ExecuteAndReturnStringValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static string Update(int picture_id, int gallery_id, string picture_name, string picture_path, int total_view, bool is_display_on_home_page, int order_display, DateTime created_date, string created_by, DateTime modify_date, string modify_by, bool status)
        {
            try
            {
                usp_portal_galleries_details_update entity = new usp_portal_galleries_details_update();
                entity.PICTURE_ID = picture_id;
                entity.GALLERY_ID = gallery_id;
                entity.PICTURE_NAME = picture_name;
                entity.PICTURE_PATH = picture_path;
                entity.TOTAL_VIEW = total_view;
                entity.IS_DISPLAY_ON_HOME_PAGE = is_display_on_home_page;
                entity.ORDER_DISPLAY = order_display;
                entity.CREATED_DATE = created_date;
                entity.CREATED_BY = created_by;
                entity.MODIFY_DATE = modify_date;
                entity.MODIFY_BY = modify_by;
                entity.STATUS = status;

                return BO_Actions<usp_portal_galleries_details_update>.ExecuteAndReturnStringValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static bool Delete(string ids, string spliter, int delete_type)
        {
            try
            {
                usp_portal_galleries_details_delete entity = new usp_portal_galleries_details_delete();
                entity.IDS = ids;
                entity.SPLITER = spliter;
                entity.DELETE_TYPE = delete_type;

                return BO_Actions<usp_portal_galleries_details_delete>.ExecuteAndReturnBooleanValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static bool Restore(int picture_id)
        {
            try
            {
                usp_portal_galleries_details_restore entity = new usp_portal_galleries_details_restore();
                entity.PICTURE_ID = picture_id;

                return BO_Actions<usp_portal_galleries_details_restore>.ExecuteAndReturnBooleanValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable SelectByGallery(int startIndex, int pageCount, int status, int gallery_id)
        {
            try
            {
                usp_portal_galleries_details_select_by_gallery entity = new usp_portal_galleries_details_select_by_gallery();
                entity.STARTINDEX = startIndex;
                entity.MAXRECORDS = pageCount;
                entity.STATUS = status;
                entity.GALLERY_ID = gallery_id;
                return BO_Actions<usp_portal_galleries_details_select_by_gallery>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}

